namespace Angelus.Oracle.Entity.Common.Entity
{
    using System.Diagnostics;
    using System.Diagnostics.Contracts;

    /// <summary>
    /// Description of OracleBuilder.
    /// </summary>
    internal class SymbolPair : ISqlFragment
    {
        #region Constructors

        /// <summary>
        /// 
        /// </summary>
        /// <param name="source"></param>
        /// <param name="column"></param>
        public SymbolPair(Symbol source, Symbol column)
        {
            this.Source = source;
            this.Column = column;
        }

        #endregion

        #region Properties

        /// <summary>
        /// 
        /// </summary>
        public Symbol Source { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Symbol Column { get; set; }

        #endregion

        #region ISqlFragment Implementation

        /// <summary>
        /// 
        /// </summary>
        /// <param name="writer"></param>
        /// <param name="generator"></param>
        public void WriteSql(SqlWriter writer, SqlGenerator generator)
        {
            Contract.Assert(false, "SymbolPair should never be part of an SqlBuilder");
        }

        #endregion
    }
}